System And Method For The Presentation Of Alternative Content To Viewers Video Content

ABSTRACT

According to certain embodiments of the present invention behavioral patterns are utilized in order to calculate a predicted level of interest of viewers in a specific video item at any given moment throughout the length of the video item. More specifically, according to certain embodiments, this calculation allows to identify instances of peaks of high and low interest throughout the length of the video item. This allows predicting the occurrence of critical moments throughout the video item when is likely that viewers would abandon the video item on one hand, and moments when viewers are most likely absorbed in the currently presented video, on the other hand. This information allows to capture viewers when their interest in the viewed content is low or decreasing, and to synchronize the presentation of alternative content to these instances.

FIELD OF THE INVENTION

The present invention is related to the field of behavioral patternanalysis.

BACKGROUND OF THE INVENTION

With improvement to broadband network infrastructure and the increase inuser generated content, it is common for websites to use the display ofvideo content as a platform for exposing viewers to commercialadvertisements. Great efforts are made in order to increase the exposureof Internet users to advertisements. Website's administrators attempt tomaintain website viewers constantly interested and thus to extend theperiod of time they are viewing the video content and advertisementsprovided by the website. In order to continuously capture the interestof viewers, websites may provide viewers with other video items whichare related to the viewed video item.

The presentation of related video content or advertisements is donebefore, after or during the time a video is being watched. However, itis often the case that viewers do not watch the full length of the videoand thus, where the related content is displayed at the end of thevideo, their exposure to the advertisements or the related content isconsiderably decreased. On the other hand, presenting related contentand advertisements to viewers while they are watching the video islikely to interfere with the video item and irritate viewers, causingthem to either absentmindedly or deliberately ignore the presentedcontent.

Therefore there is a need in the art for a system and method designedfor displaying content to users in an intelligent manner in order toovercome the above disadvantages.

GENERAL DESCRIPTION

According to a first aspect of the invention there is provided acomputer implemented method of presenting an alternative content withthe help of a system for analyzing a video item and comprising a datacollecting unit operatively coupled to a processing unit and a datarepository, the video item being presented by a video presentingapplication, the application being configured to enable a plurality ofviewers of the video item to generate user-generated events, the methodcomprising:

(a) receiving from one or more viewers among the plurality of viewersinformation indicative of a plurality of respective user generatedevents, the receiving being performed with the help of the datacollection unit;

(b) processing the received information with the help of the processingunit, wherein the processing comprising:

i) identifying from among the plurality of user-generated events asecond plurality of user-generated events indicative of a change in theinterest of the one or more viewers in the video item;

ii) identifying one or more time intervals of a predefined lengththroughout the length of the video item, when the second plurality ofidentified user-generated events occurred;

iii) based on at least the identified intervals, generating a videoprofile of the video item, the video profile being indicative of atleast one time interval which is characterized by a change in theinterest of viewers in respect of the video item; and

(c) storing the video profile in the data repository.

According to certain embodiments, the method further comprises thefollowing stages:

(d) utilizing at least the video profile for determining at least onetime interval, throughout the length of the video item characterized bya likelihood for a change in the interest of a current viewer in thevideo item; and

(e) enabling synchronization of a time of presenting alternative contentto the current viewer within close proximity to the at least onedetermined time interval.

According to a second aspect of the invention there is provided a systemfor analyzing a video item, the system being operative to receive one ormore user-generated events obtained by a video presenting applicationadapted to enable a plurality of viewers of the video item to generateuser-generated events the system comprising:

a data collection unit configured for receiving information indicativeof a plurality of user generated events, generated by the plurality ofviewers of the video item

a processing unit configured to perform at least the following:

(a) identifying from among the plurality of user-generated events, asecond plurality of user generated events indicative of a change in theinterest of the plurality viewers in the video item;

(b) identifying one or more time intervals throughout the length of thevideo item, when the second plurality of identified user generatedevents occurred;

(c) based on at least the one or more time intervals generating a videoprofile of the video item, the video profile being indicative of atleast one or more time intervals which are characterized by a change inthe interest of viewers in respect of the video item.

According to a third aspect of the invention there is provided acomputer implemented program storage device readable by machine,tangibly embodying a program of instructions executable by the machineto perform method steps of presenting an alternative content with thehelp of a system for analyzing a video item and comprising a datacollecting unit operatively coupled to a processing unit and a datarepository, the video item being presented by a video presentingapplication, the application being configured to enable a plurality ofviewers of the video item to generate user-generated events, the methodcomprising:

-   -   (a) receiving from one or more viewers among the plurality of        viewers information indicative of a plurality of respective user        generated events, the receiving being performed with the help of        the data collection unit;    -   (b) processing the received information with the help of the        processing unit, wherein the processing comprising:        -   i) identifying from among the plurality of user-generated            events a second plurality of user-generated events            indicative of a change in the interest of the one or more            viewers in the video item;        -   ii) identifying one or more time intervals of a predefined            length throughout the length of the video item, when the            second plurality of identified user-generated events            occurred;        -   iii) based on at least the identified intervals, generating            a video profile of the video item, the video profile being            indicative of at least one time interval which is            characterized by a change in the interest of viewers in            respect of the video item; and    -   (c) storing the video profile in the data repository.

According to fourth aspect of the invention there is provided a computerimplemented computer program product comprising a computer useablemedium having computer readable program code embodied therein ofpresenting an alternative content with the help of a system foranalyzing a video item and comprising a data collecting unit operativelycoupled to a processing unit and a data repository, the video item beingpresented by a video presenting application, the application beingconfigured to enable a plurality of viewers of the video item togenerate user-generated events, the computer program product comprising:

computer readable program code for causing the computer to receive fromone or more viewers among the plurality of viewers informationindicative of a plurality of respective user generated events, thereceiving being performed with the help of the data collection unit;

computer readable program code for causing the computer to process thereceived information with the help of the processing unit, wherein theprocessing comprising:

computer readable program code for causing the computer to identifyingfrom among the plurality of user-generated events a second plurality ofuser-generated events indicative of a change in the interest of the oneor more viewers in the video item;

computer readable program code for causing the computer to identifyingone or more time intervals of a predefined length throughout the lengthof the video item, when the second plurality of identifieduser-generated events occurred;

computer readable program code for causing the computer to based on atleast the identified intervals, generating a video profile of the videoitem, the video profile being indicative of at least one time intervalwhich is characterized by a change in the interest of viewers in respectof the video item; and

computer readable program code for causing the computer to store thevideo profile in the data repository.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to understand the invention and to see how it may be carriedout in practice, certain embodiments will now be described, by way ofnon-limiting example only, with reference to the accompanying drawings,in which:

FIG. 1 illustrates a generalized scheme of the system architecture 100in a context of a network 120, in accordance with an embodiment of theinvention;

FIG. 2 illustrates a flowchart showing a high level view of theoperations carried out, in accordance with an embodiment of theinvention; and

FIG. 3 illustrates a flowchart showing the operations of the system, inaccordance with an embodiment of the invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

As used herein, the phrase “for example,” “such as”, “for instance” andvariants thereof describe non-limiting embodiments of the presentinvention.

Reference in the specification to “one embodiment”, “an embodiment”,“some embodiments”, “another embodiment”, “other embodiments” “certainembodiments”, “one case”, “some cases”, “other cases” or variationsthereof means that a particular feature, structure or characteristicdescribed in connection with the embodiment(s) is included in at leastone embodiment of the invention. Thus the appearance of the phrase “oneembodiment”, “an embodiment”, “some embodiments”, “another embodiment”,“other embodiments”, “one case”, “some cases”, “other cases”, orvariations thereof does not necessarily refer to the same embodiment(s).

It should be appreciated that certain features of the invention, whichare, for clarity, described in the context of separate embodiments, mayalso be provided in combination in a single embodiment. Conversely,various features of the invention, which are, for brevity, described inthe context of a single embodiment, may also be provided separately orin any suitable sub-combination.

Some embodiments of the present invention are primarily disclosed as amethod and it will be understood by a person of ordinary skill in theart that an apparatus such as a conventional data processor incorporatedwith a database, software and other appropriate components may beprogrammed or otherwise designed to facilitate the practice of themethod of the invention.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions, utilizing terms such as, “providing”, “generating”,“processing”, “taking”, “selecting”, “receiving”, “analyzing”,“enhancing”, or the like, refer to the action and/or processes of anycombination of software, hardware and/or firmware. The term “computer”should be expansively construed to cover any kind of electronic devicewith data processing capabilities, including, by way of non-limitingexample, personal computers, servers, computing system, communicationdevices, processors (e.g. digital signal processor (DSP),microcontrollers, field programmable gate array (FPGA), applicationspecific integrated circuit (ASIC), etc.) and other electronic computingdevices and combinations thereof.

Embodiments of the present invention may use terms such as unit,service, module, tool, technique, system, processor, device, tool,computer, apparatus, element, server, engine, etc, (in single or pluralform) for performing the operations herein. These terms, as appropriate,refer to any combination of software, hardware and/or firmwareconfigured to perform the operations as defined and explained herein.The module(s) (or counterpart terms specified above may be speciallyconstructed for the desired purposes, or it may comprise a generalpurpose computer selectively activated or reconfigured by a programstored in the computer. Such a program may be stored in a readablestorage medium, such as, but not limited to, any type of disk includingoptical disks, CD-ROMs, magnetic-optical disks, read-only memories(ROMs), random access memories (RAMs), electrically programmableread-only memories (EPROMs), electrically erasable and programmable readonly memories (EEPROMs), magnetic or optical cards, any other type ofmedia suitable for storing electronic instructions that are capable ofbeing conveyed, for example via a computer system bus.

In addition, embodiments of the present invention are not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings of the inventions as described herein.

It should be noted that the division of the system into the specificmodules and/or units as shown in FIG. 1, is only for ease ofunderstanding and in other embodiments any of the modules may beseparated into a plurality of modules or alternatively combined with anyother module(s). In some embodiments, the system depicted in FIG. 1includes less, more or different modules and/or units than shown inFIG. 1. Each of the modules of the system may be made up of anycombination of software, hardware and/or firmware capable of performingthe functions described and defined herein. In other embodiments of theinvention any module of the system may provide less functionality, morefunctionality and/or different functionality than the functionalityprovided by the modules illustrated in FIG. 1. In some embodiments, partof the functionalities as described with reference to the system may beimplemented in the client 170.

Unless defined otherwise, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this invention belongs. Generally (although notnecessarily), the nomenclature used herein described below is well knownand commonly employed in the art. Unless described otherwise,conventional methods are used, such as those provided in the art andvarious general references.

The following is a list of terms and their definitions as used in thecontext of the present invention:

1. The terms “user” or “viewer” may be used interchangeably, and referto a user of an application for presenting video content such as forexample, a web browser displaying video content presenting website (e.g.YouTube).

2. The terms “video content” or “video item” as used herein refer to anytype of video and may include, for example short video streams (e.g.video clips) and long video streams (e.g. full length movies).

3. The term “current viewer” as used herein refers to a user who iscurrently connected to the system of the present invention.

4. The term, “user generated event” (or “viewer action”) as used hereinrefers to an action performed by a viewer while interacting with anapplication for presenting video content. Examples of user generatedevents are: requesting alternative content while watching a video item,selecting a different video item from a menu of proposed video items andwatching the selected video item, abandoning an application (e.g.turning to a different webpage or closing a web browser), stopping thevideo, pausing the video, hovering with the mouse over the application,scrolling down a scroll bar, replaying a video item etc. User generatedevents may also include actions which are initiated automatically by anapplication in response to another action performed by the viewer, forexample, a request for alternative content which is issued by anapplication in response to a viewer starting to watch a new video.

5. The term “behavioral pattern” as used herein, refers to one or moreuser generated events, which are performed in sequence by a certain user(e.g. a specific pattern of actions performed by a user). Behavioralpatterns may include any action (i.e. any user generated event) which isperformed by viewers, via an interface of a video content presentingapplication before, after or while watching a video item.

6. The term “session” as used herein refers to a sequence of one or moreweb pages viewed by the same viewer.

7. The term “alternative content” as used herein refers to any digitalcontent that may be suggested or presented to a user of a videopresenting application. Alternative content includes, for example,alternative video items, advertisements, links to other websites etc.

8. The term “video view” as used herein refers to the action of viewinga video item.

According to certain embodiments of the present invention, a method andsystem is disclosed, for analyzing behavioral patterns of viewers ofvideo content and deducing therefrom characteristics and qualities ofthe video content. Behavioral patterns of viewers of video content (orvideo items) may often mirror the impression of the viewer on the viewedvideo item. It is therefore possible by studying and analyzingbehavioral patterns of viewers to obtain information regarding the videoitem. The information that can be realized from behavioral patterns mayinclude for example, the rating of a video item among viewers (e.g. thepopularity of a video among viewers), the quality of the video item, thequality of the server broadcasting the video item and more.

According to certain embodiment of the present invention, behavioralpatterns are utilized in order to calculate a predicted level ofinterest of viewers in a specific video item at any given momentthroughout the length of the video item. More specifically, according tocertain embodiments, one goal of this calculation is to identifyinstances of peaks of high and low interest throughout the length of thevideo item. This allows predicting the occurrence of critical momentsthroughout the video item when it is likely that viewers would abandonthe video item on one hand, and moments when viewers are most likely tobe absorbed in the currently presented video, on the other hand. Thisinformation allows to capture viewers when their interest in the viewedcontent is low or decreasing, and to synchronize the presentation ofalternative content to these instances.

Suggesting alternative content to viewers while they are less interestedin the video item may serve to increase the ability of publishers (e.g.websites) to draw the viewer's attention to the suggested alternativecontent. It may also serve to keep viewers continuously interested andprevent viewers from abandoning the application. In addition, avoidingthe suggestion of alternative content to viewers while they are absorbedin the currently displayed content, and synchronizing the presentationof alternative content with moments which are more convenient to theviewers, improves the service which is provided to the viewers andcreates a more user-friendly environment.

According to certain embodiments the identification of peaks of high andlow interest throughout the length of a specific video item is based onuser generated events, which are generated by different users who watchthe video. As explained in more details below, user generated events (orbehavioral patterns) are recorded and analyzed in order to determinewhether they indicate a change in the interest of the user in the videoitem.

Some of the user generated events may explicitly indicate a change inthe viewer's interest in the currently watched video item. For example,one type of user behavioral event which can contribute to the analysisof the video item is the moment in time when viewers abandon a certainvideo item and switch to another video or to another webpage. A viewermay watch the full length of a video or he may stop watching a videoitem only a short time after it starts. Alternatively, a viewer mayabandon the video at any time throughout the length of the video. Thistype of action (e.g. switching to a different video) may often identifythe loss of interest in the previous video item.

Other user generated events are more implicit in this respect and theirinterpretation may change from one viewer to another and from one videoto another. For example, the action of scrolling down a scroll bar, orhovering with the mouse over a webpage, may suggest that the activeviewer is not interested in the currently presented video item and istherefore searching for alternative video content. Alternatively, someviewers may have a tendency to always scroll through the list ofsuggested content, regardless of their level of interest in thecurrently presented video item. Thus, often additional information isrequired in order to interpret such user generated events and deducewhether such actions indicate a change in respect of in the viewer'sinterest in the video item.

In accordance with certain embodiments, when analyzing user behavioralpattern, the method and system of the present inventions take intoconsideration the user-profile of the viewer who generated the event andthe video profile of the viewed video item. The user profile and thevideo profile are utilizes for interpreting a user generated event anddeducing whether the recorded user generated, event indicate a change inthe interest of the user in respect of the presented content.

According to certain embodiments, data characterizing each video item ofa given data-repository of video items (e.g., a data-repository of allvideo items available to given web site), is assembled and utilized forconstructing a “video item profile” (or a video profile) for that videoitem. Also, data characterizing each user, who has watched at least onevideo item of the given video data-repository, is assembled and utilizedfor constructing a “user profile” for that user. According to certainembodiments, the data which is utilized for constructing a video profileof a specific video item comprises user generated events which werepreformed by different users in respect of that specific video item,while user profile of a specific user is constructed based on thebehavioral patterns of that user.

According to certain embodiments, additional information of a moredescriptive nature in respect of users and video items is gathered. Suchinformation includes, for example, metadata from relevant web pages,comments inserted by viewers and other descriptive informationpertaining to video items and/or users. Metadata may include, forexample, the duration of the video, textual data like title, tags anddescription, the presence or absence of certain keywords, for example,“funny” or “news” and other information which may indicate the nature ortheme of the video item. Information of this kind may have an importantcontribution to the characterization and categorization of the videoitems and/or users. For example, the topic of the video is an obviouscharacteristic of a video item but it also characterizes a user as itmay indicate preferences of the user who is watching the video. Inanother example, the length of the video item may help to interpret auser generated event. As short video items are more likely to be watcheduntil the end, the abandoning of a short video item may serve as astronger indication of loss of interest than the abandoning of a longvideo.

According to certain embodiments, additional information in respect ofthe viewers is also gathered. This may include, for example, previouslyvisited websites, previously watched video items, analysis of commentswritten by a specific viewer, and key words used by a viewer duringsearches. Analyzing a user generated event based on a combination ofinformation gathered from the user profile and the video profile mayprovide more accurate conclusions. For example, abandonment of a video,about basketball, (according to its video profile), by a viewer who,according to his profile, is fond of basketball is likely to be astronger indication of an instance of loss of interest, than in a casewhere the same video item is abandoned by a user who is not fond ofsports at all.

According to certain embodiments, the system and method of the presentinvention take into consideration the user profile, the video itemprofile, and additional information, and predicts one or more instanceswithin the duration of the video during which a decrease in the interestof the viewer is most likely to occur and enables to utilize thisinformation for synchronizing the presentation of alternative contentwith the predicted instances. Data which is necessary for thecharacterization of both the video items and the viewers is continuouslybeing collected and stored. In general, the characterization of videoitems and viewers and the calculated level of interest, all of which arebased on the collected data, become more accurate as more data iscollected and becomes available.

It should be noted that the present invention is generally described, inrelation to the detection of a decrease in the interest of the views,however, this is done only by way of example and the invention appliesto other embodiments where other changes (such as an increase) in thelevel of the interest are required.

Attention is now drawn to FIG. 1 illustrating a generalized scheme ofthe system architecture 100 in a context of a network 120, in accordancewith an embodiment of the invention. In order to synchronize thepresentation of alternative content and/or advertisements with instancesof decreasing interest of a viewer in the currently presented content,the system and method of the present invention assembles and analyzesinformation with regard to both the presented video items and the activeviewers.

According to certain embodiments, system 100 includes at least onecontroller associated with the different modules and components of thesystem and configured to manage, execute and control the relevantoperations.

According to certain embodiments, a data collection unit 105 isconfigured for collecting and receiving information by way of one ormore clients 170 and from other data collection tools, such as webcrawlers 175. Clients facilitate the interaction of viewers with thesystem 100. The data received by the data collection unit 105, throughthe client 170, includes, inter alia, behavioral patterns of the viewer,comprising a sequence of user generated events as performed by theviewer. As mentioned above, behavioral patterns can be used for creatingboth a video profile for each of the viewed video items and userprofiles for the specific viewer who performed the user generatedevents. As further mentioned above, in order to improve thecharacterization of the viewer and enhance the user profile the datacollection unit 105 may also obtain additional informationcharacterizing the video item and the viewer, for example, the viewer'spreferences and fields of interest.

In some embodiments, clients are configured to send to system 100information with regard to user generated events, which are performed bya viewer, for example by a software running on client. In otherembodiments, system 100 indirectly notices the events indicating abeginning, ending or stopping of a video view by keeping track of therequests for alternative content (which occur, e.g., at the beginning ofthe video) which may often signify that a viewer has moved from watchingone video item to another.

Clients 170 may be, but are not limited to, personal computers, PDAs,cellular phones, portable computers, televisions, and the like. Eachclient 170 may include a display (e.g. screen) and a user interface andpossibly an application for sending and receiving web pages, such as abrowser application. According to certain embodiments, clients 170 canaccess one or more video data-repositories allowing users to select andwatch a specific video item out of a plurality of available video items.As exemplified in FIG. 1, system 100 may be configured in the context ofa network 120. The connection between the client 170 and system 100 maybe realized over a network (e.g. the Internet), for example: a localarea network (LAN), wide area network (WAN), metropolitan area network(MAN) or a combination thereof. The connection to the network may berealized through any suitable connection or communication unit. Theconnection may be implemented by hardwire or wireless communicationmeans. Clients 170 may also be directly connected to the system via, forexample, a universal serial bus (USB) connection.

Although system 100 is illustrated in FIG. 1 as if comprised in a singleunit, this is not always necessary, and depending on the embodiment,modules in system 100 may be comprised in the same unit, may beconnected over a network and/or may be connected through a directconnection.

According to certain embodiments, web crawlers 175 are facilitated forcrawling through the video presenting application (e.g. website) inorder to obtain video item related information such as video meta-data,comments on the video and other information from the website such as thehyperlink structure. The hyperlink structure and other internalstructures of websites, such as the ‘favorites’ lists, may be used foridentifying related video items and for the grouping of video items intoclusters. Such association and clustering may be used for theconstruction of the video item profiles mentioned above (they may bealso used for suggesting appropriate recommendations of video items atgiven contexts). For example, if there are several web pages whichcontain links to both video item vi₁ and video item vi₂, then these twovideo items are likely to be related, and would rather be grouped intothe same cluster. Similarly, if several users mark both vi₁ and vi₂ asfavorites, then vi₁ and vi₂ are likely to be similar in content, andwould rather be grouped into the same cluster.

Web crawlers 105 are not limited to video content, but can also browsethrough websites, which are associated with the system of the presentinvention, in a methodical, automated manner and retrieve informationregarding all video items which are associated with the websites. Forexample, websites may include lists of “favorite items” of viewers,discussions over the various items, friendship links between viewers,comments about video items, links from video items to contextuallyrelated items and more. All may provide, directly or indirectly,additional information about video items. Web crawlers may retrievethese pieces of information. Web crawlers 105 may also be used forretrieving additional data from other sources and websites in order toobtain more information and to better understand the meta-data which isassociated with a certain video. For example, web crawlers 175 may beutilized to search, Wikipedia.org in order to retrieve definitions ofterms which are found with in the meta-data associated with a videoitem.

Data may be obtained from a video presenting application while a user iseither online or offline. An active viewer is a viewer who is currentlyengaged with a video presenting application, connected with system 100,it there follows that any data or interaction with an active viewer (viaa client) is done online (e.g. through a client). On the other hand,data which is obtained by web crawlers 175 is independent of the user'sinteraction with the system. According to certain embodiments, theinformation collected by the data collection unit 105 is stored in adesignated data-storage.

According to certain embodiments, the system comprises an interpretationunit 130 which is a processing unit and which comprises a pre-processingmodule 110, a video analysis module 115, a user segmentation module 125,and a consolidation module. According to certain embodiments a largeamount of raw-data, which is collected by the data collection unit 105,the web crawlers 175 or any other data collecting tool which is known inthe art and may be utilized by system 100, is subjected to initialprocessing by a pre-processing module 110. The raw data contains a largenumber of different types of information. Some of this information isactual high quality information while some of the information is lowquality information or noise.

According to one embodiment, the pre-processing module 110 is aprocessing unit which is configured for filtering out noise. Noisefiltering may include, for example, identifying and removing informationgenerated by robots (i.e. computer programs which are aimed toautomatically interface with websites), and checking for streamingproblems or delays in the streaming, which may influence the results ofthe different calculations. For example, a delay in streaming mayerroneously imply that a viewer has watched a video item for 60 secondsbefore switching to another item, while in fact the first 10 secondswere spent on buffering, due to delays in streaming. Such streamingproblems are identified and their consequences are rectified by thepre-processing module 110. According to one embodiment, thepre-processing module is associated with a true time estimator (notshown) which is responsible for identifying and compensating for timedelays resulting from streaming problems. Noise filtering may alsoinclude identifying and interpreting certain viewer actions that mayconfuse the system. For example, if a viewer pressed the pause buttonwhile watching a video item, the duration of time the pause button waspressed must be taken into consideration, when system 100 calculateswhat part of the video item was actually watched by the viewer.

In addition, in some embodiments, noise filtering may include selectingfrom the recorded user generated events only those events which arerelevant for the analysis of the user behavioral pattern. For example insome cases and some configurations, there might be an indication that arecorded mouse-hover or a recorded mouse click or a sequence of suchevents occurred by mistake. In such scenarios the recorded usergenerated event should not be regarded as an indication of the viewer'slevel of interest in the video item. In another example, in some cases avideo view which is too short should be ignored during data gatheringand analysis.

According to certain embodiments, the pre-processing module 110 providesa first layer of user generated events interpretation. In thisconnection module 110 is configured for preliminary analysis of usergenerated events and creating additional “virtual” events (i.e. deduceduser generated events) out of the “real” user generated events. Forexample, when a viewer is voluntarily requesting alternative contentfrom the system, system 100 denotes this user generated event as a“request for alternative content” which is the explicit user generatedevent (i.e. a real event). System 100 may also denote this event as anevent of “viewer lost interest in the displayed video” which is an eventthat represents an interpretation of the explicit event (i.e. virtualevent). In another example, when a viewer watches a video item in slowmotion this action is interpreted as “the viewer is intensely engaged inthe displayed video” in addition to the explicit (real) event of “theuser is watching the video in slow motion”.

According to certain embodiments, information such as metadata collectedin respect to a specific video item (or specific viewer) may also besubjected to preprocessing by pre-processing module 110. For example,web pages are parsed and the tags and their associated descriptive textare extracted.

According to certain embodiments, the data assembled in respect to eachspecific viewer is associated with the relevant viewer and stored inuser profile data-repository 135 (e.g. database), and the data assembledin respect to each video item is associated with the relevant video itemand stored in video profile data-repository 140 (e.g. database). Itshould be noted that although user profile database 135 and videoprofile database 140 are depicted as external components of system 100,being connected to system 100 via any known communicationinfrastructure, this is merely for the sake of example and databases maybe located as internal components of system 100 as well. It should alsobe noted that although data-repositories 135 and 140 are depicted asseparated components, in other examples they can be realized as a singlerepository unit.

According to certain embodiments, the video content related informationis further processed by a video analysis module 115, which is anotherprocessing unit. The information which is received by this module 115comprises video items with their associated data after it has beenprocessed by the pre-processing module 110. According to certainembodiments, the data includes user generated events which wereperformed by viewers while watching the video items, virtual eventswhich were generated by the pre-processing module 115 based on the usergenerated events, additional descriptive data pertaining to the videoitem and any other type of relevant information previously obtained bythe data collection unit 105 or web crawlers 175.

According to certain embodiments, the video analysis module 115 isconfigured for further processing of the information associated witheach specific video item. The video analysis module 115 is configuredfor characterizing a video item, for example, determining the theme ofthe video i.e. determining to which categories and sub-categories thevideo is related (e.g. category animals, sub-category pets, or categorycars, sub-category sports cars), determining the length of the video,determining other characteristics of the video for example, whether thevideo is provocative, whether the video is funny, whether the video isof high quality, etc.

According to certain embodiments, the video analysis module 115 is alsoconfigured for the analysis of the real user generated event and thevirtual user generated events. All user generated events are examined,and the implications of these events with regards to the interest of theviewer, in the video, is determined. According to some embodiments, usergenerated events are considered in view of the possible interpretationsof the events, for example, whether the event itself implies an increaseor decrease in the viewer's interest (e.g. was the user generated eventa request for alternative content which explicitly implies that theviewer lost interest in the viewed video item). According to anotherembodiment, user generated events are considered also in view of theuser profile belonging to the viewer who performed the event, forexample, the user profile may indicate whether a certain user generatedevent is a typical behavior of the viewer usually associated with lossof interest. According to further embodiments, user generated events arefurther considered in view of the additional information which wasgathered in respect of both the viewed video item and the viewer, forexample, if the video item received poor reviews by previous viewers, auser generated event with questionable implication, should beinterpreted as loss of interest in light of the general dislikeexpressed by user in respect of the video item. According to certainembodiments, the results of the video analysis module 115 may befacilitated for directing the web crawlers 175 for retrieving additionalinformation from current websites or other information providingwebsites (e.g. Wikipedia) in order to better characterize the videoitem, as mentioned above.

According to certain embodiments, user generated events are analyzed anda score representing the inferred level of increase or decrease in theinterest of the viewer which preceded the user generated event iscalculated. The score is given to specific instances (or optionally timeintervals) throughout the length of the video item, and indicates theinferred change in the interest of the user during these specificinstances.

For example, in certain embodiments and in some configurations, it mightbe defined that a user generated event of a “Pause” operation is scoredwith 5 points, which signifies a 5 point increase in the interest of aviewer, while a user generated event of a “Scroll” operation is scoredwith 20 points which signifies a 20 points decrease in the interest ofthe viewer. The scoring may depend on properties of the video item(represented by the video profile) and the characteristics of the viewer(represented by a user profile). For example, if viewers of video itemsrelated to a certain theme tend to be perform many “Scroll” operations,then for video items of that specific theme, “Scroll” operations willget fewer points than for video items of other themes. Similarly, thescoring may be defined differently for different viewers. For example, aviewer who tends to perform many “Scroll” operations or a viewer who isyounger than a predefined age may get fewer points for a scrollingoperation compared to other users.

According to certain embodiments, the results obtained by the videoanalysis module 115 are stored in the video profile database 140 inassociation with the relevant video. Each time a video item is displayedto a viewer, the behavioral pattern of the viewer with respect to thevideo item is processed, analyzed and facilitated for identifyingcritical moments during which a change in the interest of the viewer hasoccurred.

Behavioral patterns of many users are analyzed, and repeatingindications from different viewers, showing a change (e.g. a decrease)in the interest of viewers, which correspond to the same or to closeinstances or time intervals, within the duration of a specific videoitem, are identified. These identified instances may therefore serve topredict instances (or time intervals) during which other users arelikely to experience a similar decrease in their interest. According tocertain embodiment, the presentation of alternative content issynchronized with these instances or time intervals.

The identification of such critical moments is based on the viewingexperience of as many viewers as possible, wherein the larger the numberof times a video item is watched the more information (i.e. behavioralpatterns) is available with regard to that video and the more reliableare the calculated results. Moreover, the greater the number of times acertain instance, in a certain video, was associated with a change (e.g.decrease) in the interest of different viewers, and the greater thenumber of such viewers, the higher is the statistical significance ofthe resulting indication.

For example, instances throughout the length of video item may be scoredbased on a number of parameters. The first being the number ofindications (e.g. user generated events indicating loss of interest)which occurred during these instances and the second being the scorewhich is assigned to each of the different types of user generatedevents. In addition as explained above the score may also be dependenton the user profile of the viewer who performed the action. All theabove parameters are calculated to a final score. One or more instanceswith the highest score are determined as instances which arecharacterized by the highest probability for other (e.g. future) viewersto lose interest in the video item. In some embodiments, a single videoitem may include a plurality of critical instances representing highprobability for a change (e.g. decrease) to occur in the interest ofviewers, for example, a first instance during the first third of thevideo item, a second instance during the second third of the video itemand third instance during the last third of the video item.

According to certain embodiments, the system also comprises a usersegmentation module 125 which is a processing unit, configured, interalia, for analyzing user generated events and creating a user profilefor each specific user according to the behavioral pattern of the user(i.e. user generated events of the user). For example, the hovering andscrolling habits of a specific user, the tendency of the user to replayvideo items, and tendency of the user to watch movies until the end.According to certain embodiments, additional information gathered by thedata collection unit 105 and pertaining to viewers' preferences andtheir fields of interest is also analyzed and used for characterizationof the users. In addition, the user profile may be based on otherproperties of the user, like the user's geographical location or theexplicit descriptive properties claimed by the user himself, such ashobbies, main interests and age. For each viewer a user profile isconstructed according to the gathered information, and associated withthe viewer, who is identified by a unique identifier, and stored in theuser profile database 135. As previously explained, in some cases, whileanalyzing user generated events performed in respect to a certain videoitem, the video analysis module 115, may retrieve information (from theuser profile database 135) pertaining to the viewer who performed theevents in order to assist in the interpretation of the performed useractions. Optionally this may be limited to only a part of the users(e.g. to those users that have generated enough user events enablingsystem 100 to make a reliable statistical inference).

According to certain embodiments, system 100 is configured to use boththe data stored in its databases and the data retrieved online from aviewer for providing a recommendation for appropriate instances forpresenting advertisement and/or alternative content to the user. Inorder to select an appropriate moment for the presentation ofalternative content, the system takes into consideration the informationwhich was gathered with respect to the viewed video item together withthe available information in respect of the current viewer. For example,if according to his user profile, a viewer who is currently watching avideo item is a big fan of a certain basketball team, and he iscurrently watching a video showing that same basketball team, system 100may choose to avoid presenting any alternative content, until the end ofthe video item, although the information stored in the video profiledatabase 140, suggests that after 2 minutes a decrease in the interestof viewers in this specific video item is normally detected (assuming ofcourse that the video item is longer than 2 minutes).

According to certain embodiments, and in order to accomplish this task,the system comprises a consolidation module 145, which is a processingunit, configured for combining information pertaining to each video item(i.e. video profile) together with the information pertaining to thecurrent viewer (i.e. user profile), in accordance with a predefined setof rules. The consolidation module 145 generates a preliminaryrecommendation for the preferable time to present alternative content tothe viewer.

For example, a viewer is categorized as “patient”, if the viewer tendsto watch video items till the end (e.g. if in more than 90% of the videoviews, the viewer has watched the video at least 90 percent of itslength). For any given video item the system provides a recommendationas when to provide alternative content based on a statistical deductionfrom the behavioral patterns of all viewers. However, “patient” viewersmay be provided with a different recommendation which is specificallyadapted to their tendency to watch video items all the way through. Inanother example, say a “teenage viewer”, if his age (according todescriptive properties claimed by the user, or alternatively, asinferred from his preferred content) is between 10 and 20. The systemmay provide “teenage” viewers with recommendations which are based onthe statistical calculation which are made on the basis of behavioralpatterns of “teenage” viewers only.

According to certain embodiments, the preliminary recommendationgenerated by the consolidation module 145 is transferred to arecommendation module 150. The recommendation module 150 is configuredto issue a recommendation based on the information retrieved from theconsolidation module 145 and additional information obtained from apolicy constraints module 160. According to certain embodiments, thepolicy constraints module 160 maintains the policy and constraintsprovided by entities outside of the system logic such as the advertiseror the website owner. For example, an advertiser may want to limit thenumber of times an advertisement is presented to a viewer during onesession. Therefore, although for example, a preliminary recommendationmight be issued by the consolidation module 145 to present to a vieweralternative content at a certain moment, it would not be provided to theviewer after all, due to constraints set by the publisher.

According to certain embodiments, after all the relevant parameters areconsidered, the recommendation module 150 generates a recommendationwhich specifies a time (e.g. instance within the duration of the video)which is most appropriate for presenting alternative content to theviewer. Once a recommendation is generated, the recommendation module150 synchronizes the presentation of alternative content in accordancewith the generated recommendation.

According to one embodiment, the recommendation issued by therecommendation module 150 is sent directly to the client 170, providingthe client with the information indicating when a recommendation foralternative content should be issued. The client is connected to sometype of a resource or a system for providing the actual alternativecontent and utilized the recommendation provided by recommendationmodule 150 for timing the presentation of the content.

According to another embodiment, the recommendation is sent from therecommendation module 150 to another system or tool configured forrecommending alternative content to the user 165. Such system canschedule the recommendation of alternative content which is sent to aclient according to the recommendations provided by the recommendationmodule 150. An example for such a recommendation tool is the Applicant'spropriety recommendation tool which is described in International PatentPublication Number WO 08/047,363, incorporated herein by reference.Thus, in some embodiments, system 100 may be configured as componentwithin the Applicant's recommendation system and utilized for itsenhancement.

In addition to the synchronization of the time of presentation of videoitems to time-interval which are recommended by system 100, therecommendation tool 165 may utilize the recommendations issued by system100 for enhancing recommendation logic of recommendation tool 165. Forexample, recommendation tool 165 may consider adapting the presentedalternative content to the recommendation issued by the recommendationmodule 150 (e.g. one type of content if the recommended time is close tothe beginning of the video item and a different type of content if therecommended time is at the end of the video item).

The presentation of the alternative content can be realized by any meansknown in the art such as, for example, replacing the current video withan alternative one, presenting video content using pop-ups, covering aportion of the screen with the presented alternative content etc. Thepresented alternative content may include one or more video items oradvertisements, which the user can choose from. Alternatively oradditionally, the presented alternative content may include anycombination of video items and advertisements being accessible to theuser.

FIG. 2 is a flowchart showing a high level view of the operationscarried out in accordance with an embodiment of the invention. Ingeneral system 100 performs two processes which are inherentlyconnected. According to certain embodiments, in a first process the datapertaining to the currently viewed video item (video profile) and to thecharacteristics of the viewer (active user profile) is gathered andanalyzed (stage 210) for the purpose of mapping throughout the length ofthe video item, instances during which a change is likely to occur inthe interest of the viewers in the displayed video.

According to certain embodiments, this process is performed continuouslyduring the sessions of different viewers 220. The process also includesobtaining additional information which is related to different videoitems and different viewers 230 for example by facilitating web crawlers175, as mentioned earlier. As explained above, stage 210 includesrecording and interpreting user generated events in order to determinewhether the recorded events imply that a change occurred in the interestof the user in the displayed video content, and in order to identifymoments throughout the length of the video item during which suchchanges typically occur. The information which is obtained during theprocess illustrated in stage 210 is stored in the system databases 250.

According to certain embodiments, a second process, which may beperformed in parallel to the first process, pertains to the provision ofrecommendations as to when to provide the current viewer withalternative content. This process is performed while a user is watchinga video item. In order to provide this recommendation, the system takesinto consideration the data regarding the currently viewed video itemand data regarding the current viewer which was obtained earlier (duringthe first process mentioned above), and which is now stored in thesystem databases.

In addition, the system may also consider user-generated events whichare being performed by the viewer in real-time during the currentsessions 220 and provide an indication on changes in the viewer'sinterest in the currently presented video item. According to certainembodiments the system combines all the available data and provides arecommendation as to when to provide the current viewer with alternativecontent 240. The final resulting action may be the actual timing anddisplay (e.g. on the client screen) of suggestions for alternativecontent according to the recommendation of the system 260.

FIG. 3 illustrates a flowchart showing the operations of the system, inaccordance with an embodiment of the invention. According to certainembodiments, the system of the present invention is associated with anytype of a video presenting application, for example a web browseroperating a video displaying application or a V.O.D (view on demand)application on cable television. According to certain embodiments, thesystem first identifies that a viewer (or a plurality of viewers) isconnected to the system and identifies the specific viewer 310.According to one embodiment, a viewer must be a registered user of thesystem and is identified by the system according to a designated IDnumber or name. According to another embodiment, the viewer does nothave to register to the system and is recognized by other means, forexample according to the current IP number. If the current viewer is notrecognized, the system may suggest the viewer to become a registereduser or alternatively automatically registers the current user. Once thecurrent viewer is recognized, the system retrieves from the systemsdatabases any information relating to the viewer, if available.According to certain embodiments, once system 100 recognizes that aviewer is connected it begins to record and process the user generatedevents (i.e. behavioral patterns) which are being generated by thatviewer. This enables, inter alia, to enhance the user profile of theviewer and enables the system to make more accurate interpretations ofthe viewer's generated events in the future. If the current viewer is anew user of the system a user profile is created for the current user.

According to certain embodiments, in the next stage, user generatedactions which are performed by one or more viewers which are connectedto system 100 (i.e. current viewers) are recorded by the system 305 andundergo a preliminary processing stage (or preprocessing) 320. Asexplained above, preprocessing may include noise filtering 322,preliminary interpretation of the recorded events and the generation ofvirtual events 324.

According to certain embodiments, the system records the user generatedevents performed by the current viewers and checks whether a request foralternative content is made. For example, such requests may be sent by aclient, in response to user starting a video view, as part of anautomatic mechanism, defined within the website configuration, forrequesting alternative content. Requests for alternative content areoften scheduled to be issued at a predefined time at the beginning orduring a video item and therefore, such requests may serve as a goodindication that the user has started to watch a new video item. For thatreason these requests are also very good indications that a previousvideo item has been abandoned by the viewer. In some embodiments,requests may also be issued as a result of a user action (e.g. pushing abutton), providing a similar type of indication that the user has lostinterest in the previous video item.

The request may be accompanied by relevant information such as the videoitem presently being viewed, the id of the user who has generated therequest, the time stamp of the request, the type of user-interfaceelement which caused it, etc. Depending on the behavioral pattern of theviewer, the user profile of the viewer and the website's configuration,the system decides whether a detected request for alternative content islikely to represent an indication that the viewer has begun to view avideo item.

Websites may differ in the kind of user events which might take place,and in the availability of certain user generated events (some usergenerated events may be allowed only with association to specificevents, for example, only after the video is ended), in someembodiments, these differences are taken into account during theanalysis. For example, in some websites, a certain kind of request mightappear at the beginning of the video view, while in other websites thesame request may appear at the end of the video view. Thus, the sameuser generated event may be regarded as an indication that the viewerhas begun to view a video item only in the former example and not in thelatter.

The preprocessing stage 320 may also include a process of representinguser generated events in a standardized format 326. The format ofrepresentation of user events may vary among different websites andapplications, because in different situations there are different kindsof special user events, and in some cases there is some extrainformation attached to the user events (e.g., geographic location,comments, etc., which may be included for application-specificpurposes). Therefore, standardization is necessary in order to enablethe same analysis mechanism to handle data generated by all thedifferent kinds of configurations and applications. In the standardizedformat, many different kinds of events will be represented as the samekind of event, if the distinctions between them are irrelevant to theanalysis mechanism.

For example, suppose that according to the configuration of a firstwebsite, a single request for recommendations of alternative content isissued by the client in response to selection of a new video item by aviewer; while according to the configurations of a second website, tworequests are issued by a client in response to the same user generatedevent (for example, because two recommendation lists are to be presentedin different locations on the web page and request is issued for eachlist separately). System 100 is configured to interpret the singlerequest in the first website and the double request in the secondwebsite in the same manner i.e. as a single indication that a viewer hasstarted to watch a video item and abandoned the previous one. Thisexample shows how different patterns of events from different websitesare given the same interpretation.

According to some embodiments, the preprocessing stage, in stage 320,may also include the retrieval of missing information, for example, insome technologies (e.g., web pages), when a user views several videos inparallel, there might be inaccurate or missing information as to whichuser events refer to which video view; this missing information may bededuced by the pre-processing module by statistical methods. Forexample, as mentioned above, in certain website configurations, theremay be multiple applications, for presenting alternative content,operating and displayed in parallel (e.g. one list of alternative videoitems may be presented at the side of the webpage and another list maybe presented on the face of the video presenting application). Each ofthese applications may issue a (e.g. an automatic) request foralternative content at the same or very close time. Accordingly, if thesystem identifies two or more requests, issued by the same client, inrespect of the same video item, in very close proximity, it may assumethat both requests were made with respect to the same video item, sincethe time interval between the two events was too short for two differentevents to be generated.

According to certain embodiments, once an indication that a viewer iswatching a video is recorded, (in stage 320) the system identifies whichvideo item is currently being watched and associates the user generatedevents with the video item. If database 140 contains a record of thecurrently viewed video item the new information regarding this video isassociated with the existing record. Otherwise, a new record isconstructed for the video item and the information is associated withthe new record. Each user generated event, (which passed thepreprocessing stage) is associated with the relevant video item and thetime within the length of the video, during which the user generatedevent has been recorded is saved (i.e. time stamp). Similarly, usergenerated events are associated and stored in the record of the currentuser in the user profile database 135.

In accordance with certain embodiments, during the next stage 340, theimplication of the user generated events on the interest of the viewerin the video is determined. The system considers both real events andvirtual events and decides whether these events indicated a change inthe interest of the viewer in the video item. According to certainembodiments, the decision is made while taking into consideration theuser profile of the viewer who performed the user generated events andadditional data pertaining to the characteristics of the video. Theadditional data may be retrieved from off-line and on-line sources 390as explained above with reference to FIG. 1.

The data concerning the user generated events and the video item iscontinuously gathered and analyzed throughout the interaction of theviewer with the system, and the analyzed information is stored in thesystem databases 350.

In order to provide a reliable prediction as to specific instancesthroughout the length of video item, during which it is likely for achange in the level of the interest of a viewer to occur, dataconcerning the user generated events pertaining to each specific videoitem should be gathered from as many viewers and views as possible.According to certain embodiments, the deduced indications pertaining toeach video item are considered using statistical measures in order toweigh the reliability of the indications. Thus, in general, anindication showing a decrease in the viewer's interest in a specificinstance within the duration of a specific video, which is repeatedlyidentified by the system in respect to many different viewers, providesa reliable indication. In addition, a reliable indication providesfeedback to the system's logic with regard to the interpretation of theuser generated events. For example, the interpretation of user generatedevents, which were generated within a certain time interval, as anindication of a decrease in the interest of users, is supported if afterthe interpretation has been made a large percentage of the users requestalternative content within that time interval.

The stages depicted in FIG. 3, which were described thus far, constitutethe first process as mentioned above with reference to FIG. 2. Theremaining stages, which are described in FIG. 3, constitute a secondprocess, which corresponds to the synchronization of a recommendationfor alternative content, with a change in the interest of the currentviewer in the displayed video.

According to certain embodiments, during stage 360 the data which isstored in the system databases (e.g. video profile database 140), duringthe current and previous sessions, in respect of instances throughoutthe duration of the video which are associated with a change in theinterest of viewers in the displayed video are retrieved. In additionall the available information, in respect of the user profile of thecurrent viewer, is also retrieved from the system databases (e.g. userprofile database 135). According to certain embodiments, during thisstage the characteristics of the user as deduced from user profile andthe characteristics of the video as deduced from the video profile areweighed and are consolidated together to produce a recommendation.Accordingly, the system recommends whether and when to presentalternative content to the viewer. For example, consider a case where acertain video item which is being watched by a viewer, is characterizedby a substantial loss of interest around the beginning of the thirdminute of the video item. Typically the system would synchronize thepresentation of alternative content with the recorded instance of lossof interest. However, in this example, the viewer has performed, afterone minute, a user generated event which in accordance to his userprofile indicates that he is losing interest in the currently displayedvideo, the system may provide a recommendation to present to the currentviewer alternative content in synchronization with the user generatedevent and not wait for the recorded instance to arrive. If, however,this particular viewer does not show any indication that he is losinginterest in the video and according to his user profile he almost alwayswatches basketball related video items till the end, (assuming thecurrent video item is related to basketball) the system may decide torecommend that no alternative content should be displayed to the currentviewer during the current video.

According to certain embodiments, both the current user and the videoitem which is being watched by the current user may be unknown to thesystem. In this case, the recommendation as to when to providealternative content to the user is done, according to predefined rules,which may be based for example, on statistical information which wasgathered while taking into consideration general characteristics ofpreviously, watched video items. For example, the correlation betweenthe length of the video item and the time a decrease in the interest ofviewers is typically observed can be calculated and utilized forgenerating a recommendation in such cases.

According to certain embodiments, if the currently watched video isknown to the system while the viewer is a new viewer with no availableuser profile, the recommendation would be based on the video profileonly. If the currently watched video is unknown to the system while theviewer is a known viewer (i.e. having an available user profile), therecommendation would be based on the user profile, possibly togetherwith the general statistic pertaining to video items in general.

According to certain embodiments, in the next stage 370, additionallimitation and conditions are taken into consideration as to whether toissue a recommendation and when. As specified above, these conditionsmay include, for example, certain constraints set forth by the publisheror the owner of the website. For example, a publisher may want to limitthe number of times a recommendation is issued during one session.According to some embodiments, during this stage, recommendation system165 is facilitated in order to select the most proper alternativecontent. The final output of this stage is a recommendation as towhether any alternative content should be displayed, when should it bedisplayed and, according to certain embodiments, also what should bedisplayed to the viewer. In the last stage 380, alternative content ispresented to the current viewer in accordance with the recommendationswhich were issued in stage 370.

It should be understood that the system according to the invention maybe a suitably programmed computer. Likewise, the invention contemplatesa computer program being readable by a computer for executing the methodof the invention. The invention further contemplates a machine-readablememory tangibly embodying a program of instructions executable by themachine for executing the method of the invention.

While various embodiments have been shown and described, it will beunderstood that there is no intent to limit the invention by suchdisclosure, but rather, it is intended to cover all modifications andalternate constructions falling within the scope of the invention, asdefined in the appended claims.

1-33. (canceled)
 34. A computer implemented method of presenting an alternative content with the help of a system for analyzing a video item and comprising a data collecting unit operatively coupled to a processing unit and a data repository, said video item being presented by a video presenting application, said application being configured to enable a plurality of viewers of said video item to generate user-generated events, the method comprising providing instruction to said processor to perform at least the following: (a) obtaining a user profile of at least one viewer from said plurality of viewers; (b) obtaining data in respect of said video; (c) using said user profile and said data in combination, for deducing more data for interpreting said user-generated events and identifying from among said plurality of user-generated events, a second plurality of user generated events indicative of a change in the interest of said plurality viewers in said video item; (d) identifying one or more time intervals of a predefined length throughout the length of said video item, when said second plurality of identified user-generated events occurred; (e) analyzing said time intervals and generating a video profile with data indicative of one or more time intervals which are characterized by a change in the interest of viewers in respect of said video item; and (f) utilizing at least said video profile, a user profile of a current viewer, and data in respect of a currently viewed video item in combination, for determining whether exists one or more time intervals, throughout the length of said currently viewed video item, being characterized by a likelihood for a change to occur in the interest of said current viewer in said video item, and in case one or more of such time interval exists, enabling the synchronizing of the time of presenting alternative content to said current viewer within close proximity to said at least one determined time interval.
 35. The method of claim 34 further comprising storing said video profile in said data repository.
 36. The method of claim 35 wherein said video profile is generated based on statistical calculations.
 37. The method of claim 34 wherein stage (c) further comprising: creating virtual events which are based on said user generated events and identifying virtual events indicative of a change in the interest of said one or more viewers in said video item.
 38. The method of claim 35 further comprising: receiving information with the help of said data collection unit, said information is indicative of one or more user generated events, generated by said current viewer and generating and enhancing a user profile of said current user.
 39. The method of claim 35 wherein said change includes a decrease in the interest of said viewer in said video item.
 40. The method of claim 35 wherein said alternative content being one or more other video items.
 41. The method of claim 35 wherein said alternative content being one or more advertisements.
 42. The method of claim 35 wherein said alternative content is a combination of one or more other video items with one or more advertisements.
 43. The method of claim 34 wherein said user generated events are one or more request for alternative content.
 44. A system for analyzing a video item, the system being operative to receive one or more user-generated events obtained by a video presenting application adapted to enable a plurality of viewers of said video item to generate user-generated events the system comprising: a data collection unit configured for receiving information indicative of a plurality of user generated events, generated by said plurality of viewers of said video item a processing unit configured to perform at least the following: (a) obtaining a user profile of at least one viewer from said plurality of viewers; (b) obtaining data in respect of said video item; (c) using said user profile and said data in combination, for deducing more data for interpreting said user-generated events and identifying from among said plurality of user-generated events, a second plurality of user generated events indicative of a change in the interest of said plurality viewers in said video item; (d) identifying one or more time intervals throughout the length of said video item, when said second plurality of identified user generated events occurred; (g) analyzing said time intervals and generating a video profile with data indicative of one or more time intervals which are characterized by a change in the interest of viewers in respect of said video item, utilizing at least said video profile, a user profile of a current viewer, and data in respect of a currently viewed video item in combination, for determining whether exists one or more time intervals, throughout the length of said currently viewed video item, being characterized by a likelihood for a change to occur in the interest of said current viewer in said video item, and in case one or more of such time interval exists, enabling the synchronizing of the time of presenting alternative content to said current viewer within close proximity to said at least one determined time interval.
 45. The system of claim 44 further comprising at least one data repository configured for storing said video profile.
 46. The system of claim 44 wherein said processing unit is further configured for creating virtual events which are based on said user generated events and to identify virtual events indicative of a change in the interest of said plurality viewers in said video item.
 47. The system of claim 44 wherein said a data collection unit is further configure for receiving information indicative of one or more user generated events, generated by said current viewer, and wherein said processing unit is further configured for generating and enhancing a user profile of said current user.
 48. The system of claim 44 wherein said change includes a decrease in the interest of said viewer in said video item.
 49. The system of claim 44 wherein said alternative content being one or more other video items.
 50. The system of claim 44 wherein said alternative content being one or more advertisements.
 51. The system of claim 44 wherein said alternative content a combination of one or more other video items with one or more advertisements.
 52. The system of claim 44 wherein processing unit is configured to implement statistical calculations in order to generate said video profile.
 53. The system of claim 44 wherein said user generated events are one or more requests for alternative content.
 54. A computer implemented program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps of presenting an alternative content with the help of a system for analyzing a video item and comprising a data collecting unit operatively coupled to a processing unit and a data repository, said video item being presented by a video presenting application, said application being configured to enable a plurality of viewers of said video item to generate user-generated events, the method comprising providing instruction to said processor to perform at least the following: (h) obtaining a user profile of at least one viewer from said plurality of viewers; (i) obtaining data in respect of said video; (j) using said user profile and said data in combination, for deducing more data for interpreting said user-generated events and identifying from among said plurality of user-generated events, a second plurality of user generated events indicative of a change in the interest of said plurality viewers in said video item; (k) identifying one or more time intervals of a predefined length throughout the length of said video item, when said second plurality of identified user-generated events occurred; (l) analyzing said time intervals and generating a video profile with data indicative of one or more time intervals which are characterized by a change in the interest of viewers in respect of said video item; and (m) utilizing at least said video profile, a user profile of a current viewer, and data in respect of a currently viewed video item in combination, for determining whether exists one or more time intervals, throughout the length of said currently viewed video item, being characterized by a likelihood for a change to occur in the interest of said current viewer in said video item, and in case one or more of such time interval exists, enabling the synchronizing of the time of presenting alternative content to said current viewer within close proximity to said at least one determined time interval.
 55. A system for presenting alternative content to a current viewer of a video item, the system comprising: a processing unit configured for utilizing at least a video profile of said video item, a user profile of said current viewer, and data in respect of a currently viewed video item in combination for deducing more data and determining whether exists one or more time intervals, throughout the length of said currently viewed video item, being characterized by a likelihood for a change to occur in the interest of said current viewer in said video item, and in case one or more of such time interval exists, enabling the synchronizing of the time of presenting alternative content to said current viewer within close proximity to said at least one determined time interval; said video profile including data indicative of one or more time intervals which are characterized by a change in the interest of viewers in respect of said video item; said data obtained by a system for analyzing a video item, the system being operable to receive one or more user-generated events obtained by a video presenting application and configured for receiving information indicative of a plurality of user generated events, generated by said plurality of viewers of said video item and comprising a processing unit configured to perform at least the following: (a) obtaining a user profile of at least one viewer from said plurality of viewers; (b) obtaining data in respect of said video; (c) using said user profile and said data in combination, for deducing more data for interpreting said user-generated events and identifying from among said plurality of user-generated events, a second plurality of user generated events indicative of a change in the interest of said plurality viewers in said video item; (d) identifying one or more time intervals of a predefined length throughout the length of said video item, when said second plurality of identified user-generated events occurred; and (a) updating said video profile with said data. 